package cn.zbmao.web.util;

import cn.zbmao.fc.FcTool;
import cn.zbmao.tool.StringTool;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Administrator on 2014/12/24.
 */
/**
 * 字符串过滤 工具类
 * */
public class StringOperateUtil {
    public static String exChange(String str){
//        StringBuffer sb=new StringBuffer();
//        for(int i=0;i<str.length();i++){
//            //如果是小写
//            if(str.substring(i, i+1).equals(str.substring(i, i+1).toUpperCase())){
//                sb.append(str.substring(i, i+1).toLowerCase());
//
//            }else{
//                sb.append(str.substring(i, i+1));
//            }
//        }
        if(str!=null) {
            return str.toLowerCase();
        }else{
            return "";
        }

    }
    public static String reA(String str){
        str=str.replaceAll("<a[^>]*href=[\"'](?<url>[^\"']*?)[\"'][^>]*>"," ");
        return str;
    }

//    过滤特殊字符，转换为空格
    public static String reString(String str){
        str=str.replaceAll("[\\pP \\pS ]", " ").replaceAll("\\s+"," ");
        return str.trim();

    }
   public static void main(String[]args){
//       String str=reString("1231sad“” ‘’f**^))(_+=-234s=s-df!aj@接#$￥度%阿斯蒂芬");
//       String str=exChange(" IK中国HD (*&)电饭锅asd  ");
//       System.out.println(str);
//       String unsafe =
//               "<p><a href='http://example.com/' title='sdfasdf' onclick='stealC2ookies()'>Link</a></p>";
//       String safe = Jsoup.clean(unsafe, Whitelist.basic());
//       String safe=reA(unsafe);
//       System.out.println(safe);
//       String str="";
//       str=returnKey(str);
//       System.out.println(str);
//       List<String>list=getKeyword(str);

//       System.out.println(returnKey(str));
//        System.out.println(DateUtil.getNowToInt());
   }

    /**
     * 操作用户输入
     * @param keyword
     * @return
     */
    public static String returnKey(String keyword) {
        if (keyword.equals("+")) {
            return "";
        } else {

            //去除前后各种空格
            keyword = StringTool.removeBlankChar(keyword);
            //操作空格
            if (keyword.indexOf(" ") != -1) {
                String str = "";
                String[] keys = keyword.split(" ");
                for (int i = 0; i < keys.length; i++) {
                    //获得每一个整字
                    String key = keys[i];
                    if (key.length() > 2) {
                        //获得分开的分词
//                    key=FcUtil.search_fc(key);
                        key = FcTool.getFc().indexFc(key);
                        //除去分词后面的最后一个空格
                        key = key.substring(0, key.length() - 1);
                        //给分开的分词加上双引号。
                        key = "\"" + key + "\" ";
                        //获得带引号的key值
                    } else {
                        key = "\"" + key + "\" ";
                    }
                    str += key;
                }
                return str.substring(0, str.length() - 1);
            }
            //操作加号用户输入
            if (keyword.indexOf("+") != -1) {
                String str = "+";
                String[] keys = keyword.split("[+]");
                for (int i = 0; i < keys.length; i++) {
                    //获得每一个整字
                    String key = keys[i];
                    if (key.length() > 2) {
                        //获得分开的分词
//                    key=FcUtil.search_fc(key);
                        key = FcTool.getFc().indexFc(key);
                        //除去分词后面的最后一个空格
                        key = key.substring(0, key.length() - 1);
                        //给分开的分词加上双引号。
                        key = "\"" + key + "\" +";
                        //获得带引号的key值
                    } else {
                        key = "\"" + key + "\" +";
                    }
                    str += key;
                }
                return str.substring(0, str.length() - 2);
            }
            //没有任何符号操作的用户输入
            String str = "+";
            String key = "";
            if (keyword.length() > 2) {
//            key=FcUtil.search_fc(keyword);
                key = FcTool.getFc().indexFc(keyword);

                key = key.substring(0, key.length());
                key = "\"" + key + "\"";

                str = key;
            } else {
                str = keyword;
            }
            return str;
        }
    }
    /**
     * 获得关键词
     * @param keyword
     * @return
     */
    public static List<String> getKeyword(String keyword){
        List<String> strs=new ArrayList<String>();
        if(keyword.indexOf("+")!=-1){
            String [] key=keyword.split("[+]");
            for (int i = 0; i < key.length; i++) {
                strs.add(key[i]);
            }
            return strs;
        }
        if(keyword.indexOf(" ")!=-1){
            String [] key=keyword.split(" ");
            for (int i = 0; i < key.length; i++) {
                strs.add(key[i]);
            }
            return strs;
        }
        strs.add(keyword);
        return strs;
    }
}
